一、闭包
1.1、概括
闭包就是指有权访问另一个函数作用域中的变量的函数。
1.2、如何创建
创建闭包的常见方式,就是在一个函数内部创建另一个函数。
1.3、例子
就是说当一个函数执行的时候,可以让自己内部的变量不受外部的影响,然后会存在一个返回值,一般是一个函数,并且在该函数里面引用局部变量信息。然后在函数执行完毕后,这个局部变量信息不会消失,而是长时间的驻扎在内存里面的这种机制被称为’闭包’。
1.4、作用
①、闭包会构成一个封闭的结构,可以避免全局变量的污染;
②、闭包可以读取到函数内部的变量;
③、闭包可以让变量的值保持在内存中;
1.5、坏处
闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存。过度使用闭包可能会导致内存占用过多。
在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。就是将其设置为null;
1.6、实际应用场景
封装插件
1.7、code
1 | // 创建函数 |
1 | var a = 10000; |
没有返回值,依然构成闭包
1 | (function(window,$) { |